Page({
  data: {
    currentNote: {
      id: null,
      title: '',
      text: ''
    },
    currentId: null // 当前编辑的笔记ID
  },

  onLoad(options) {
    // 必须传入id参数（仅支持编辑模式）
    if (!options.id) {
      wx.showToast({ title: '参数错误', icon: 'none' });
      setTimeout(() => wx.navigateBack(), 1000);
      return;
    }

    const noteId = parseInt(options.id);
    this.setData({ currentId: noteId });
    this.loadNoteData(); // 加载笔记数据
    wx.setNavigationBarTitle({ title: '编辑笔记' });
  },

  // 从本地存储加载笔记数据
  loadNoteData() {
    const noteId = this.data.currentId;
    const allNotes = wx.getStorageSync('noteArray') || [];
    const targetNote = allNotes.find(note => note.id === noteId);

    if (targetNote) {
      this.setData({
        currentNote: { ...targetNote } // 深拷贝避免直接修改原数据
      });
    } else {
      // 笔记不存在时返回列表页
      wx.showToast({ title: '笔记不存在', icon: 'none' });
      setTimeout(() => wx.navigateBack(), 1000);
    }
  },

  // 标题输入处理
  handleTitleInput(e) {
    this.setData({
      'currentNote.title': e.detail.value
    });
  },

  // 内容输入处理
  handleContentInput(e) {
    this.setData({
      'currentNote.text': e.detail.value
    });
  },

  // 保存笔记（仅更新逻辑）
  handleSave() {
    const { currentNote, currentId } = this.data;
    // 验证标题不为空
    if (!currentNote.title.trim()) {
      wx.showToast({ title: '请输入笔记标题', icon: 'none' });
      return;
    }

    // 从本地存储获取所有笔记
    let allNotes = wx.getStorageSync('noteArray') || [];
    // 找到当前笔记并更新
    const index = allNotes.findIndex(note => note.id === currentId);
    if (index !== -1) {
      allNotes[index] = {
        ...allNotes[index],
        title: currentNote.title.trim(), // 去除首尾空格
        text: currentNote.text
      };
      // 保存更新后的数据
      wx.setStorageSync('noteArray', allNotes);
      wx.showToast({ title: '更新成功', icon: 'success' });
      setTimeout(() => wx.navigateBack(), 1000);
    } else {
      wx.showToast({ title: '保存失败', icon: 'none' });
    }
  },

  // 删除当前笔记
  handleDelete() {
    const { currentId } = this.data;
    wx.showModal({
      title: '确认删除',
      content: '确定要删除这篇笔记吗？',
      confirmColor: '#ff4d4f',
      success: (res) => {
        if (res.confirm) {
          // 过滤掉当前笔记
          let allNotes = wx.getStorageSync('noteArray') || [];
          const newNotes = allNotes.filter(note => note.id !== currentId);
          // 保存删除后的列表
          wx.setStorageSync('noteArray', newNotes);
          wx.showToast({ title: '删除成功', icon: 'success' });
          setTimeout(() => wx.navigateBack(), 1000);
        }
      }
    });
  },

  // 取消编辑，返回列表页
  handleCancel() {
    wx.navigateBack();
  }
});